package drill

import (
	"time"
)

// DrillStateData 钻井状态数据结构
type DrillStateData struct {
	// ==== 时间戳信息 ====
	Ct int64  `json:"ct" db:"ct"` // 时间戳（毫秒精度）
	Dt string `json:"dt" db:"dt"` // 数据传输时间（字符串 yyyymmddHHMMSS）

	// ==== MSE相关参数 ====
	MSETotal    float64 `json:"mse_total" db:"mse_total"`       // 总MSE
	MSEDownhole float64 `json:"mse_downhole" db:"mse_downhole"` // 下钻头的MSE

	// ==== 钻头参数 ====
	D float64 `json:"d" db:"d"` // 钻头直径，单位：in英寸
	R float64 `json:"r" db:"r"` // 钻头半径，单位：in英寸

	// ==== 地面钻井参数 ====
	TQsurf  float64 `json:"tq_surf" db:"tq_surf"`   // 地面扭矩，单位：ft-lb 英尺-磅
	RPMsurf float64 `json:"rpm_surf" db:"rpm_surf"` // 钻柱转速，单位：转/分钟
	ROP     float64 `json:"rop" db:"rop"`           // 机械钻速，单位：ft/hr，英尺/小时

	// ==== 螺杆钻具参数 ====
	Kn float64 `json:"kn" db:"kn"` // 螺杆转速系数，单位：rev/gal，转/加仑; 0.25-0.3
	Kt float64 `json:"kt" db:"kt"` // 螺杆扭矩系数，单位：ft-lb/psi 英尺·磅/磅·英寸²;取值：9.5-9.9

	// ==== 压力流量参数 ====
	DeltaP float64 `json:"delta_p" db:"delta_p"` // 压力，单位：psi; 取值466或585
	Q      float64 `json:"q" db:"q"`             // 流量，单位：加仑/分钟

	// ==== 钻井性能参数 ====
	DOC float64 `json:"doc" db:"doc"` // 切削深度，单位：in/转
	DS  float64 `json:"ds" db:"ds"`   // 钻井强度，单位：psi
	SSI float64 `json:"ssi" db:"ssi"` // 粘滑指数

	// ==== 岩石参数 ====
	UCS float64 `json:"ucs" db:"ucs"` // 岩石抗压强度

	// ==== 元数据 ====
	CreatedAt  time.Time `json:"created_at" db:"created_at"`   // 记录创建时间
	DataSource string    `json:"data_source" db:"data_source"` // 数据源
}
